package com.dragon.modules.yuegou.entity.member;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.member.TemplateSetDemotionRule;
import com.dragon.modules.yuegou.enums.member.TemplateSetGradeRule;
import com.dragon.modules.yuegou.enums.member.TemplateSetMemberCode;
import com.dragon.modules.yuegou.enums.member.TemplateSetStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 支付宝会员模板设置实体类<br>
 * 对应的表为：mem_template_set<br>
 * 
 * @author pbuilder generated
 * @date 2021-10-26 20:15:21
 * @company sgy
 * @version 2.0
 */
@TableName("mem_template_set")
@ApiModel(description = "支付宝会员模板设置")
public class TemplateSetEntity {

    /** 主键 */
	@ApiModelProperty("主键")
	protected String id;

    /** 名称 */
	@ApiModelProperty("名称")
	protected String name;

    /** 商圈id */
	@ApiModelProperty("商圈id")
	protected String busdId;

    /** 支付宝会员卡模板ID */
	@ApiModelProperty("支付宝会员卡模板ID")
	protected String templateId;

    /** 请求支付宝编号 */
	@ApiModelProperty("请求支付宝编号")
	protected String requestId;

    /** 投放连接 */
	@ApiModelProperty("投放连接")
	protected String cardUrl;

    /** [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE */
	@ApiModelProperty("[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE")
	protected TemplateSetMemberCode memberCode;

    /** 会员编号前缀 */
	@ApiModelProperty("会员编号前缀")
	protected String bizNoPrefix;

    /** 会员编号长度 */
	@ApiModelProperty("会员编号长度")
	protected Integer bizNoSuffixLen;

    /** 背景字体色 */
	@ApiModelProperty("背景字体色")
	protected String bgColor;

    /** logo编号 */
	@ApiModelProperty("logo编号")
	protected String logoId;

    /** logo地址 */
	@ApiModelProperty("logo地址")
	protected String logoUrl;

    /** 背景图编号 */
	@ApiModelProperty("背景图编号")
	protected String backgroundId;

    /** 背景图地址 */
	@ApiModelProperty("背景图地址")
	protected String backgroundUrl;

    /** 创建人 */
	@ApiModelProperty("创建人")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 修改人 */
	@ApiModelProperty("修改人")
	protected String modifiedBy;

    /** 修改时间 */
	@ApiModelProperty("修改时间")
	protected LocalDateTime modifiedTime;

	/** [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED */
	@ApiModelProperty("[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED")
	protected TemplateSetGradeRule gradeRule;

	/** [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI */
	@ApiModelProperty("[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI")
	protected TemplateSetDemotionRule demotionRule;

	/** [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH */
	@ApiModelProperty("[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH")
	protected TemplateSetStatus status;

	/**
	 * 构造一个空支付宝会员模板设置实体对象
	 */
	public TemplateSetEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个支付宝会员模板设置实体对象
	 * 
	 * @param other 其它对象
	 */
	public TemplateSetEntity(TemplateSetEntity other){
		super();
     	this.id = other.id;
     	this.name = other.name;
     	this.busdId = other.busdId;
     	this.templateId = other.templateId;
     	this.requestId = other.requestId;
     	this.cardUrl = other.cardUrl;
     	this.memberCode = other.memberCode;
     	this.bizNoPrefix = other.bizNoPrefix;
     	this.bizNoSuffixLen = other.bizNoSuffixLen;
     	this.bgColor = other.bgColor;
     	this.logoId = other.logoId;
     	this.logoUrl = other.logoUrl;
     	this.backgroundId = other.backgroundId;
     	this.backgroundUrl = other.backgroundUrl;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
		this.gradeRule = other.gradeRule;
		this.demotionRule = other.demotionRule;
		this.status = other.status;
	}


	/**
	 * 获取主键
	 * 
	 * @return id 主键
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置主键
	 * 
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取名称
	 * 
	 * @return name 名称
	 */
	public String getName() {
		return name;
	}
  	
	/**
	 * 设置名称
	 * 
	 * @param name 名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取商圈id
	 * 
	 * @return busdId 商圈id
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈id
	 * 
	 * @param busdId 商圈id
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取支付宝会员卡模板ID
	 * 
	 * @return templateId 支付宝会员卡模板ID
	 */
	public String getTemplateId() {
		return templateId;
	}
  	
	/**
	 * 设置支付宝会员卡模板ID
	 * 
	 * @param templateId 支付宝会员卡模板ID
	 */
	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}

	/**
	 * 获取请求支付宝编号
	 * 
	 * @return requestId 请求支付宝编号
	 */
	public String getRequestId() {
		return requestId;
	}
  	
	/**
	 * 设置请求支付宝编号
	 * 
	 * @param requestId 请求支付宝编号
	 */
	public void setRequestId(String requestId) {
		this.requestId = requestId;
	}

	/**
	 * 获取投放连接
	 * 
	 * @return cardUrl 投放连接
	 */
	public String getCardUrl() {
		return cardUrl;
	}
  	
	/**
	 * 设置投放连接
	 * 
	 * @param cardUrl 投放连接
	 */
	public void setCardUrl(String cardUrl) {
		this.cardUrl = cardUrl;
	}

	/**
	 * 获取[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE
	 * 
	 * @return memberCode [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE
	 */
	public TemplateSetMemberCode getMemberCode() {
		return memberCode;
	}
  	
	/**
	 * 设置[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE
	 * 
	 * @param memberCode [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE
	 */
	public void setMemberCode(TemplateSetMemberCode memberCode) {
		this.memberCode = memberCode;
	}

	/**
	 * 获取会员编号前缀
	 * 
	 * @return bizNoPrefix 会员编号前缀
	 */
	public String getBizNoPrefix() {
		return bizNoPrefix;
	}
  	
	/**
	 * 设置会员编号前缀
	 * 
	 * @param bizNoPrefix 会员编号前缀
	 */
	public void setBizNoPrefix(String bizNoPrefix) {
		this.bizNoPrefix = bizNoPrefix;
	}

	/**
	 * 获取会员编号长度
	 * 
	 * @return bizNoSuffixLen 会员编号长度
	 */
	public Integer getBizNoSuffixLen() {
		return bizNoSuffixLen;
	}
  	
	/**
	 * 设置会员编号长度
	 * 
	 * @param bizNoSuffixLen 会员编号长度
	 */
	public void setBizNoSuffixLen(Integer bizNoSuffixLen) {
		this.bizNoSuffixLen = bizNoSuffixLen;
	}

	/**
	 * 获取背景字体色
	 * 
	 * @return bgColor 背景字体色
	 */
	public String getBgColor() {
		return bgColor;
	}
  	
	/**
	 * 设置背景字体色
	 * 
	 * @param bgColor 背景字体色
	 */
	public void setBgColor(String bgColor) {
		this.bgColor = bgColor;
	}

	/**
	 * 获取logo编号
	 * 
	 * @return logoId logo编号
	 */
	public String getLogoId() {
		return logoId;
	}
  	
	/**
	 * 设置logo编号
	 * 
	 * @param logoId logo编号
	 */
	public void setLogoId(String logoId) {
		this.logoId = logoId;
	}

	/**
	 * 获取logo地址
	 * 
	 * @return logoUrl logo地址
	 */
	public String getLogoUrl() {
		return logoUrl;
	}
  	
	/**
	 * 设置logo地址
	 * 
	 * @param logoUrl logo地址
	 */
	public void setLogoUrl(String logoUrl) {
		this.logoUrl = logoUrl;
	}

	/**
	 * 获取背景图编号
	 * 
	 * @return backgroundId 背景图编号
	 */
	public String getBackgroundId() {
		return backgroundId;
	}
  	
	/**
	 * 设置背景图编号
	 * 
	 * @param backgroundId 背景图编号
	 */
	public void setBackgroundId(String backgroundId) {
		this.backgroundId = backgroundId;
	}

	/**
	 * 获取背景图地址
	 * 
	 * @return backgroundUrl 背景图地址
	 */
	public String getBackgroundUrl() {
		return backgroundUrl;
	}
  	
	/**
	 * 设置背景图地址
	 * 
	 * @param backgroundUrl 背景图地址
	 */
	public void setBackgroundUrl(String backgroundUrl) {
		this.backgroundUrl = backgroundUrl;
	}

	/**
	 * 获取创建人
	 * 
	 * @return createdBy 创建人
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人
	 * 
	 * @param createdBy 创建人
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取修改人
	 * 
	 * @return modifiedBy 修改人
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置修改人
	 * 
	 * @param modifiedBy 修改人
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取修改时间
	 * 
	 * @return modifiedTime 修改时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置修改时间
	 * 
	 * @param modifiedTime 修改时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED
	 *
	 * @return gradeRule [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED
	 */
	public TemplateSetGradeRule getGradeRule() {
		return gradeRule;
	}

	/**
	 * 设置[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED
	 *
	 * @param gradeRule [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED
	 */
	public void setGradeRule(TemplateSetGradeRule gradeRule) {
		this.gradeRule = gradeRule;
	}

	/**
	 * 获取[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI
	 *
	 * @return demotionRule [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI
	 */
	public TemplateSetDemotionRule getDemotionRule() {
		return demotionRule;
	}

	/**
	 * 设置[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI
	 *
	 * @param demotionRule [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI
	 */
	public void setDemotionRule(TemplateSetDemotionRule demotionRule) {
		this.demotionRule = demotionRule;
	}

	/**
	 * 获取[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH
	 *
	 * @return status [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH
	 */
	public TemplateSetStatus getStatus() {
		return status;
	}

	/**
	 * 设置[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH
	 *
	 * @param status [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH
	 */
	public void setStatus(TemplateSetStatus status) {
		this.status = status;
	}

    public String toString() {
		return new StringBuilder().append("TemplateSetEntity{").
			append("id=").append(id).
			append(",name=").append(name).
			append(",busdId=").append(busdId).
			append(",templateId=").append(templateId).
			append(",requestId=").append(requestId).
			append(",cardUrl=").append(cardUrl).
			append(",memberCode=").append(memberCode).
			append(",bizNoPrefix=").append(bizNoPrefix).
			append(",bizNoSuffixLen=").append(bizNoSuffixLen).
			append(",bgColor=").append(bgColor).
			append(",logoId=").append(logoId).
			append(",logoUrl=").append(logoUrl).
			append(",backgroundId=").append(backgroundId).
			append(",backgroundUrl=").append(backgroundUrl).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",gradeRule=").append(gradeRule).
			append(",demotionRule=").append(demotionRule).
			append(",status=").append(status).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public TemplateSetEntity copy() {
		return new TemplateSetEntity(this);
	}

    /** 主键 */
	public static final String COL_ID = "id";

    /** 名称 */
	public static final String COL_NAME = "name";

    /** 商圈id */
	public static final String COL_BUSD_ID = "busd_id";

    /** 支付宝会员卡模板ID */
	public static final String COL_TEMPLATE_ID = "template_id";

    /** 请求支付宝编号 */
	public static final String COL_REQUEST_ID = "request_id";

    /** 投放连接 */
	public static final String COL_CARD_URL = "card_url";

    /** [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE */
	public static final String COL_MEMBER_CODE = "member_code";

    /** 会员编号前缀 */
	public static final String COL_BIZ_NO_PREFIX = "biz_no_prefix";

    /** 会员编号长度 */
	public static final String COL_BIZ_NO_SUFFIX_LEN = "biz_no_suffix_len";

    /** 背景字体色 */
	public static final String COL_BG_COLOR = "bg_color";

    /** logo编号 */
	public static final String COL_LOGO_ID = "logo_id";

    /** logo地址 */
	public static final String COL_LOGO_URL = "logo_url";

    /** 背景图编号 */
	public static final String COL_BACKGROUND_ID = "background_id";

    /** 背景图地址 */
	public static final String COL_BACKGROUND_URL = "background_url";

    /** 创建人 */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 修改人 */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 修改时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

	/** [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED */
	public static final String COL_GRADE_RULE = "grade_rule";

	/** [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI */
	public static final String COL_DEMOTION_RULE = "demotion_rule";

	/** [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH */
	public static final String COL_STATUS = "status";
}
